package com.sagframe.sagacity.sqltoy.plus.chain;

import com.sagframe.sagacity.sqltoy.plus.chain.query.LambdaChainQueryWrapper;
import com.sagframe.sagacity.sqltoy.plus.chain.query.QueryChainWrapper;
import com.sagframe.sagacity.sqltoy.plus.chain.update.LambdaChainUpdateWrapper;
import com.sagframe.sagacity.sqltoy.plus.chain.update.UpdateChainWrapper;

public class ChainWrappers {

    public static <T> QueryChainWrapper<T> chainWrapper(Class<T> entityClass, ChainDao chainDao) {
        return new QueryChainWrapper<T>(entityClass, chainDao);
    }

    public static <T> LambdaChainQueryWrapper<T> lambdaChainWrapper(Class<T> entityClass, ChainDao chainDao) {
        return new LambdaChainQueryWrapper<T>(entityClass, chainDao);
    }

    public static <T> UpdateChainWrapper<T> updateChainWrapper(Class<T> entityClass, ChainDao chainDao) {
        return new UpdateChainWrapper<T>(entityClass, chainDao);
    }

    public static <T> LambdaChainUpdateWrapper<T> lambdaUpdateChainWrapper(Class<T> entityClass, ChainDao chainDao) {
        return new LambdaChainUpdateWrapper<T>(entityClass, chainDao);
    }
}
